package org.micode.demo.db.dao;

import org.apache.ibatis.annotations.ResultType;
import org.micode.demo.db.domain.dto.SysConfigDTO;
import org.micode.libs.dao.base.BaseAllDao;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 配置信息(sys_config) 实体类的Dao
 *
 * author: wutianbin
 */
@Mapper
public interface SysConfigDao extends BaseAllDao<SysConfigDTO> {

    // 非常规sql写这里--- xml 自动生成,不再手动在xml中写sql !!

    @Select("select * from sys_config " +
            " where param_type = #{paramType}")
    @ResultMap("sysConfigMap")
    List<SysConfigDTO> listAll(@Param("paramType") String paramType);

    @Select("select * from sys_config " +
            " where param_type = #{paramType}" +
            " and param_key = #{paramKey}")
    @ResultMap("sysConfigMap")
    List<SysConfigDTO> getByTypeAndKey(@Param("paramType") String paramType,
                                       @Param("paramKey") String paramKey);

    @Select("select * from sys_config ")
    @ResultType(SysConfigDTO.class)
    List<SysConfigDTO> listAllList();

}
